package anims.XXgt.anim;

import java.awt.Color;
import java.awt.Graphics;

public class GCircle  implements IDrawObject {

	float x, y;
	float speedX, speedY;
	int borderThickness;
	float radiusX;
	float radiusY;
	Color FILL_COLOR = Color.CYAN;
	Color LINE_COLOR = Color.RED;
	public GCircle(float x, float y, float speedX, float speedY, int borderThickness, float radiusX, float radiusY) {
		super();
		this.x = x;
		this.y = y;
		this.speedX = speedX;
		this.speedY = speedY;
		this.borderThickness = borderThickness;
		this.radiusX = radiusX;
		this.radiusY = radiusY;
	}

	public GCircle(float x, float y, float speedX, float speedY, int borderThickness, float radiusX, float radiusY, Color fILL_COLOR, Color lINE_COLOR) {
		super();
		this.x = x;
		this.y = y;
		this.speedX = speedX;
		this.speedY = speedY;
		this.borderThickness = borderThickness;
		this.radiusX = radiusX;
		this.radiusY = radiusY;
		FILL_COLOR = fILL_COLOR;
		LINE_COLOR = lINE_COLOR;
	}

	@Override
	public String toStringStatus() {
		return "(x : " + x + ", y : " + y + ") R : " + radiusX;
	}

	@Override
	public void draw(Graphics g) {
		g.setColor(FILL_COLOR);
		g.fillOval((int) (x + radiusX ), (int) (y + radiusY ), (int) (2 *( radiusX- getBorderThickness())), (int) (2 *( radiusY - getBorderThickness())));
		g.setColor(LINE_COLOR);
		g.drawOval((int) (x + radiusX), (int) (y + radiusY), (int) (2 * radiusX), (int) (2 * radiusY));
	}

	@Override
	public void translate(int xT, int yT) {
		x=x-xT;
		y=y-yT;

	}

	@Override
	public void rotate(int unitAngle) {
		// TODO Auto-generated method stub

	}

	@Override
	public Color getFillColor() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Color getLineColor() {
		// TODO Auto-generated method stub
		return null;
	}

	public float getX() {
		return x;
	}

	public void setX(float x) {
		this.x = x;
	}

	public float getY() {
		return y;
	}

	public void setY(float y) {
		this.y = y;
	}

	public float getSpeedX() {
		return speedX;
	}

	public void setSpeedX(float speedX) {
		this.speedX = speedX;
	}

	public float getSpeedY() {
		return speedY;
	}

	public void setSpeedY(float speedY) {
		this.speedY = speedY;
	}

	public int getBorderThickness() {
		return borderThickness;
	}

	public void setBorderThickness(int borderThickness) {
		this.borderThickness = borderThickness;
	}


	public Color getFILL_COLOR() {
		return FILL_COLOR;
	}

	public void setFILL_COLOR(Color fILL_COLOR) {
		FILL_COLOR = fILL_COLOR;
	}

	public Color getLINE_COLOR() {
		return LINE_COLOR;
	}

	public void setLINE_COLOR(Color lINE_COLOR) {
		LINE_COLOR = lINE_COLOR;
	}

	public float getRadiusX() {
		return radiusX;
	}

	public void setRadiusX(float radiusX) {
		this.radiusX = radiusX;
	}

	public float getRadiusY() {
		return radiusY;
	}

	public void setRadiusY(float radiusY) {
		this.radiusY = radiusY;
	}

}
